package com.github.sbb.drools.drools;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;

public interface Record {
  Object get(String fieldName);

  String getString(String fieldName);

  byte[] getBytes(String fieldName);

  long getLong(String fieldName);

  double getDouble(String fieldName);

  boolean getBoolean(String fieldName);

  BigInteger getBigInteger(String fieldName);

  BigDecimal getBigDecimal(String fieldName);

  Date getDate(String fieldName);

  Time getTime(String fieldName);

  Timestamp getTimestamp(String fieldName);

  void set(String fieldName, Object value);

  void setString(String fieldName, String value);

  void setBytes(String fieldName, byte[] value);

  void setLong(String fieldName, long value);

  void setDouble(String fieldName, double value);

  void setBoolean(String fieldName, boolean value);

  void setBigInteger(String fieldName, BigInteger value);

  void setBigDecimal(String fieldName, BigDecimal value);

  void setDate(String fieldName, Date value);

  void setTime(String fieldName, Time value);

  void setTimestamp(String fieldName, Timestamp value);

  int size();

  boolean contains(String fieldName);
}
